:art: Update course/register

huangqimin001 4 anni fa
parent
commit
28f100c505

+ 18 - 0
account/migrations/0003_auto_20210303_1623.py

@@ -0,0 +1,18 @@
1
+# Generated by Django 2.2.17 on 2021-03-03 08:23
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('account', '0002_auto_20210302_1005'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AlterField(
14
+            model_name='userinfo',
15
+            name='status',
16
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
17
+        ),
18
+    ]

+ 6 - 1
api/branch_campus_admin_views.py

@@ -7,7 +7,7 @@ from django.contrib.auth.hashers import check_password, make_password
7 7
 from django_response import response
8 8
 from paginator import pagination
9 9
 
10
-from registration.models import BranchCampusAdministratorInfo
10
+from registration.models import BranchCampusAdministratorInfo, CourseRegisterInfo, UserCourseRegisterInfo
11 11
 
12 12
 
13 13
 def add_branch_campus_admin(request):
@@ -52,6 +52,9 @@ def update_branch_campus_admin(request):
52 52
         user_status=user_status,
53 53
     )
54 54
 
55
+    CourseRegisterInfo.objects.filter(admin_id=admin_id).update(admin_name=name)
56
+    UserCourseRegisterInfo.objects.filter(admin_id=admin_id).update(admin_name=name)
57
+
55 58
     return response()
56 59
 
57 60
 
@@ -81,6 +84,7 @@ def delete_branch_campus_admin(request):
81 84
 
82 85
     return response()
83 86
 
87
+
84 88
 def apply_branch_campus_admin(request):
85 89
     user_id = request.POST.get('user_id', '')
86 90
     campus_id = request.POST.get('campus_id', '')
@@ -105,6 +109,7 @@ def apply_branch_campus_admin(request):
105 109
         'admin': admin.admin_id,
106 110
     })
107 111
 
112
+
108 113
 def login_branch_campus_admin(request):
109 114
     phone = request.POST.get('phone', '')
110 115
     password = request.POST.get('password', '')

+ 4 - 1
api/branch_campus_views.py

@@ -5,7 +5,8 @@ from __future__ import division
5 5
 from django_response import response
6 6
 from paginator import pagination
7 7
 
8
-from registration.models import BranchCampusAdministratorInfo, BranchCampusInfo
8
+from registration.models import (BranchCampusAdministratorInfo, BranchCampusInfo, CourseRegisterInfo,
9
+                                 UserCourseRegisterInfo)
9 10
 
10 11
 
11 12
 def add_branch_campus(request):
@@ -24,6 +25,8 @@ def update_branch_campus(request):
24 25
 
25 26
     BranchCampusInfo.objects.filter(campus_id=campus_id).update(campus_name=campus_name)
26 27
     BranchCampusAdministratorInfo.objects.filter(campus_id=campus_id).update(campus_name=campus_name)
28
+    CourseRegisterInfo.objects.filter(campus_id=campus_id).update(campus_name=campus_name)
29
+    UserCourseRegisterInfo.objects.filter(campus_id=campus_id).update(campus_name=campus_name)
27 30
 
28 31
     return response()
29 32
 

+ 47 - 9
api/course_register_views.py

@@ -6,28 +6,66 @@ from django_query import get_query_value
6 6
 from django_response import response
7 7
 from paginator import pagination
8 8
 
9
-from registration.models import CourseRegisterInfo, UserCourseRegisterInfo
9
+from registration.models import BranchCampusAdministratorInfo, CourseRegisterInfo, UserCourseRegisterInfo
10 10
 
11 11
 
12 12
 def course_register(request):
13
+    admin_id = request.POST.get('admin_id', '')
13 14
     user_id = request.POST.get('user_id', '')
14 15
     field_id = request.POST.get('field_id', '')
15 16
     course_id = request.POST.get('course_id', '')
16 17
     course_name = request.POST.get('course_name', '')
17 18
     fields = get_query_value(request, 'fields', val_cast_type='listjson')
18 19
 
19
-    CourseRegisterInfo.objects.update_or_create(user_id=user_id, field_id=field_id, course_id=course_id, defaults={
20
-        'course_name': course_name,
21
-        'fields': fields,
22
-    })
20
+    try:
21
+        admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id)
22
+    except BranchCampusAdministratorInfo.DoesNotExist:
23
+        admin = None
24
+
25
+    # CourseRegisterInfo.objects.update_or_create(user_id=user_id, field_id=field_id, course_id=course_id, defaults={
26
+    #     'campus_id': admin.campus_id if admin else '',
27
+    #     'campus_name': admin.campus_name if admin else '',
28
+    #     'admin_id': admin.admin_id if admin else '',
29
+    #     'admin_name': admin.admin_name if admin else '',
30
+    #     'course_name': course_name,
31
+    #     'fields': fields,
32
+    # })
33
+
34
+    course_register, _ = CourseRegisterInfo.objects.get_or_create(user_id=user_id, field_id=field_id, course_id=course_id)
35
+    if not course_register.campus_id:
36
+        course_register.campus_id = admin.campus_id if admin else ''
37
+    if not course_register.campus_name:
38
+        course_register.campus_name = admin.campus_name if admin else ''
39
+    if not course_register.admin_id:
40
+        course_register.admin_id = admin.admin_id if admin else ''
41
+    if not course_register.admin_name:
42
+        course_register.admin_name = admin.admin_name if admin else ''
43
+    course_register.course_name = course_name
44
+    course_register.fields = fields
23 45
 
24 46
     registers = CourseRegisterInfo.objects.filter(user_id=user_id, course_id=course_id, status=True)
25 47
     registers = [register.data for register in registers]
26 48
 
27
-    UserCourseRegisterInfo.objects.update_or_create(user_id, course_id, defaults={
28
-        'course_name': course_name,
29
-        'fields': registers,
30
-    })
49
+    # UserCourseRegisterInfo.objects.update_or_create(user_id, course_id, defaults={
50
+    #     'campus_id': admin.campus_id if admin else '',
51
+    #     'campus_name': admin.campus_name if admin else '',
52
+    #     'admin_id': admin.admin_id if admin else '',
53
+    #     'admin_name': admin.admin_name if admin else '',
54
+    #     'course_name': course_name,
55
+    #     'fields': registers,
56
+    # })
57
+
58
+    user_course_register, _ = UserCourseRegisterInfo.objects.get_or_create(user_id=user_id, course_id=course_id)
59
+    if not user_course_register.campus_id:
60
+        user_course_register.campus_id = admin.campus_id if admin else ''
61
+    if not user_course_register.campus_name:
62
+        user_course_register.campus_name = admin.campus_name if admin else ''
63
+    if not user_course_register.admin_id:
64
+        user_course_register.admin_id = admin.admin_id if admin else ''
65
+    if not user_course_register.admin_name:
66
+        user_course_register.admin_name = admin.admin_name if admin else ''
67
+    user_course_register.course_name = course_name
68
+    user_course_register.fields = registers
31 69
 
32 70
     return response()
33 71
 

+ 2 - 2
api/course_views.py

@@ -6,7 +6,7 @@ from django_query import get_query_value
6 6
 from django_response import response
7 7
 from paginator import pagination
8 8
 
9
-from registration.models import CourseInfo, CourseRegisterFieldInfo, CourseRegisterInfo, BranchCampusAdministratorInfo
9
+from registration.models import BranchCampusAdministratorInfo, CourseInfo, CourseRegisterFieldInfo, CourseRegisterInfo
10 10
 
11 11
 
12 12
 def add_course(request):
@@ -77,7 +77,7 @@ def get_course_list(request):
77 77
 
78 78
     try:
79 79
         admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id, user_status=BranchCampusAdministratorInfo.ACTIVATED)
80
-    except:
80
+    except BranchCampusAdministratorInfo.DoesNotExist:
81 81
         return response()
82 82
 
83 83
     course = CourseInfo.objects.filter(authorities__contains=[{'campus_id': admin.campus_id}], status=True)

+ 88 - 0
registration/migrations/0009_auto_20210303_1623.py

@@ -0,0 +1,88 @@
1
+# Generated by Django 2.2.17 on 2021-03-03 08:23
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    dependencies = [
9
+        ('registration', '0008_auto_20210302_1005'),
10
+    ]
11
+
12
+    operations = [
13
+        migrations.AddField(
14
+            model_name='courseregisterinfo',
15
+            name='admin_id',
16
+            field=models.CharField(blank=True, db_index=True, help_text='管理员唯一标识', max_length=32, null=True, verbose_name='admin_id'),
17
+        ),
18
+        migrations.AddField(
19
+            model_name='courseregisterinfo',
20
+            name='admin_name',
21
+            field=models.CharField(blank=True, help_text='管理员名称', max_length=255, null=True, verbose_name='admin_name'),
22
+        ),
23
+        migrations.AddField(
24
+            model_name='courseregisterinfo',
25
+            name='campus_id',
26
+            field=models.CharField(blank=True, db_index=True, help_text='分院唯一标识', max_length=32, null=True, verbose_name='campus_id'),
27
+        ),
28
+        migrations.AddField(
29
+            model_name='courseregisterinfo',
30
+            name='campus_name',
31
+            field=models.CharField(blank=True, help_text='分院名称', max_length=255, null=True, verbose_name='campus_name'),
32
+        ),
33
+        migrations.AddField(
34
+            model_name='usercourseregisterinfo',
35
+            name='admin_id',
36
+            field=models.CharField(blank=True, db_index=True, help_text='管理员唯一标识', max_length=32, null=True, verbose_name='admin_id'),
37
+        ),
38
+        migrations.AddField(
39
+            model_name='usercourseregisterinfo',
40
+            name='admin_name',
41
+            field=models.CharField(blank=True, help_text='管理员名称', max_length=255, null=True, verbose_name='admin_name'),
42
+        ),
43
+        migrations.AddField(
44
+            model_name='usercourseregisterinfo',
45
+            name='campus_id',
46
+            field=models.CharField(blank=True, db_index=True, help_text='分院唯一标识', max_length=32, null=True, verbose_name='campus_id'),
47
+        ),
48
+        migrations.AddField(
49
+            model_name='usercourseregisterinfo',
50
+            name='campus_name',
51
+            field=models.CharField(blank=True, help_text='分院名称', max_length=255, null=True, verbose_name='campus_name'),
52
+        ),
53
+        migrations.AlterField(
54
+            model_name='branchcampusadministratorinfo',
55
+            name='status',
56
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
57
+        ),
58
+        migrations.AlterField(
59
+            model_name='branchcampusinfo',
60
+            name='status',
61
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
62
+        ),
63
+        migrations.AlterField(
64
+            model_name='courseinfo',
65
+            name='status',
66
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
67
+        ),
68
+        migrations.AlterField(
69
+            model_name='courseregisterfieldinfo',
70
+            name='status',
71
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
72
+        ),
73
+        migrations.AlterField(
74
+            model_name='courseregisterfieldpoolinfo',
75
+            name='status',
76
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
77
+        ),
78
+        migrations.AlterField(
79
+            model_name='courseregisterinfo',
80
+            name='status',
81
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
82
+        ),
83
+        migrations.AlterField(
84
+            model_name='usercourseregisterinfo',
85
+            name='status',
86
+            field=models.BooleanField(default=True, help_text='Status', verbose_name='status'),
87
+        ),
88
+    ]

+ 17 - 1
registration/models.py

@@ -99,7 +99,7 @@ class CourseInfo(BaseModelMixin):
99 99
             'authorities': self.authorities,
100 100
             'fields': self.all_fields,
101 101
         }
102
-    
102
+
103 103
     @property
104 104
     def admindata(self, admin_id):
105 105
         fields = CourseRegisterFieldInfo.objects.filter(course_id=self.course_id, status=True)
@@ -192,6 +192,12 @@ class CourseRegisterFieldInfo(BaseModelMixin):
192 192
 
193 193
 
194 194
 class CourseRegisterInfo(BaseModelMixin):
195
+    campus_id = models.CharField(_('campus_id'), max_length=32, blank=True, null=True, help_text='分院唯一标识', db_index=True)
196
+    campus_name = models.CharField(_('campus_name'), max_length=255, blank=True, null=True, help_text='分院名称')
197
+
198
+    admin_id = models.CharField(_('admin_id'), max_length=32, blank=True, null=True, help_text='管理员唯一标识', db_index=True)
199
+    admin_name = models.CharField(_('admin_name'), max_length=255, blank=True, null=True, help_text='管理员名称')
200
+
195 201
     user_id = models.CharField(_('user_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识', db_index=True)
196 202
 
197 203
     course_id = models.CharField(_('course_id'), max_length=32, blank=True, null=True, help_text='课程唯一标识', db_index=True)
@@ -223,6 +229,12 @@ class CourseRegisterInfo(BaseModelMixin):
223 229
 
224 230
 
225 231
 class UserCourseRegisterInfo(BaseModelMixin):
232
+    campus_id = models.CharField(_('campus_id'), max_length=32, blank=True, null=True, help_text='分院唯一标识', db_index=True)
233
+    campus_name = models.CharField(_('campus_name'), max_length=255, blank=True, null=True, help_text='分院名称')
234
+
235
+    admin_id = models.CharField(_('admin_id'), max_length=32, blank=True, null=True, help_text='管理员唯一标识', db_index=True)
236
+    admin_name = models.CharField(_('admin_name'), max_length=255, blank=True, null=True, help_text='管理员名称')
237
+
226 238
     user_id = models.CharField(_('user_id'), max_length=32, blank=True, null=True, help_text='用户唯一标识', db_index=True)
227 239
 
228 240
     course_id = models.CharField(_('course_id'), max_length=32, blank=True, null=True, help_text='课程唯一标识', db_index=True)
@@ -248,6 +260,10 @@ class UserCourseRegisterInfo(BaseModelMixin):
248 260
     @property
249 261
     def data(self):
250 262
         return {
263
+            'campus_id': self.campus_id,
264
+            'campus_name': self.campus_name,
265
+            'admin_id': self.admin_id,
266
+            'admin_name': self.admin_name,
251 267
             'user_id': self.user_id,
252 268
             'fields': self.fields,
253 269
         }